|
Emplacement du menu |
---|
Draft/BIM : Modification → Agréger |
Ateliers |
Draft, BIM |
Raccourci par défaut |
U P |
Introduit dans la version |
- |
Voir aussi |
Draft Désagréger |
La commande Draft Agréger agrège les objets sélectionnés. Le résultat dépend du nombre d'objets sélectionnés et de leur type. La commande peut par exemple fusionner des éléments et créer des faces. Il vaut la peine d'essayer d'agréger une sélection plusieurs fois pour voir si un meilleur résultat peut être obtenu. Voir l'exemple dans l'image. Notez que tous les objets ne peuvent pas être agrégés. Cette commande est le pendant de la commande Draft Désagréger.
Une polyligne ouverte non modifiable est transformée en polyligne fermée, puis en une face. Une polyligne carrée fermée non modifiable est également agrégée en face. Les deux faces sont ensuite agrégées pour créer un composé, qui est finalement agrégé en une polyligne Draft modifiable.
Voir aussi : Autogenerated API documentation et FreeCAD Débuter avec les scripts.
Pour agréger des objets, utilisez la méthode upgrade
de l'atelier Draft.
upgrade_list = upgrade(objects, delete=False, force=None)
objects
contient les objets à agréger. Il s'agit soit d'un objet unique, soit d'une liste d'objets.delete
est True
, les objets sources sont supprimés.force
force une certaine manière d'agréger en appelant une fonction interne spécifique. Cela peut être : "makeCompound"
, "closeGroupWires"
, "makeSolid"
, "closeWire"
, "turnToParts"
, "makeFusion"
, "makeShell"
, "makeFaces"
, "draftify"
, "joinFaces"
, "makeSketchFace"
, "makeWires"
ou "turnToLine"
.upgrade_list
est retourné. C'est une liste contenant deux listes : une liste de nouveaux objets et une liste d'objets à supprimer. Si delete
est True
, la seconde liste est vide.Exemple :
import FreeCAD as App
import Draft
doc = App.newDocument()
circle = Draft.make_circle(1000)
rectangle = Draft.make_rectangle(2000, 800)
doc.recompute()
add_list1, delete_list1 = Draft.upgrade([circle, rectangle], delete=False)
line1 = Draft.make_line(App.Vector(2000, 0, 0), App.Vector(2500, 1500, 0))
line2 = Draft.make_line(App.Vector(2500, 1500, 0), App.Vector(3000, -1000, 0))
doc.recompute()
add_list2, delete_list2 = Draft.upgrade([line1, line2], delete=False)
simple_wire = add_list2[0]
add_list3, delete_list3 = Draft.upgrade(simple_wire, delete=False)
closed_wire = add_list3[0]
add_list4, delete_list4 = Draft.upgrade(closed_wire, delete=False)
face = add_list4[0]
add_list5, delete_list5 = Draft.upgrade(face, delete=False)
doc.recompute()